package com.ruicar.afs.cloud.risk.tortoise.dto.response.prev;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruicar.afs.cloud.risk.tortoise.anno.RefData;
import com.ruicar.afs.cloud.risk.tortoise.dto.response.GwtRefData;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;


/**
 * @Description
 * @Author Peng Jinbo
 * @Date 2020/07/31 21:05
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GwtPrevApproveData extends GwtRefData {

    /**
     * Main id
     */
    @JsonInclude
    @JSONField(name = "camainid")
    @JsonProperty("camainid")
    private String mainId;

    /**
     * Apply no
     */
    @JsonInclude
    @JSONField(name = "applicationno")
    @JsonProperty("applicationno")
    private String applyNo;

    /**
     * Business type
     */
    @JsonInclude
    @RefData(dicKey = "confBusinessType")
    @JSONField(name = "businesstype")
    @JsonProperty("businesstype")
    private String businessType;

    /**
     * Sys call log id
     */
    @JsonInclude
    @JSONField(name = "responseKey")
    @JsonProperty("responseKey")
    private String sysCallLogId;

    /**
     * Sell user
     */
    @JsonInclude
    @JSONField(name = "applyuser")
    @JsonProperty("applyuser")
    private String sellUser;

    /**
     * Dealer name
     */
    @JsonInclude
    @JSONField(name = "signdealername")
    @JsonProperty("signdealername")
    private String dealerName;

    @JsonInclude
    @JSONField(name = "dealerprovince")
    @JsonProperty("dealerprovince")
    private String dealerProvinceDesc;

    @JsonInclude
    @JSONField(name = "dealercity")
    @JsonProperty("dealercity")
    private String dealerCityDesc;

    @JsonInclude
    @JSONField(name = "resisteredtime",format = "yyyy-MM-dd")
    @JsonProperty("resisteredtime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dealerRegisterDate;

    /**
     * Sell user phone
     */
    @JsonInclude
    @JSONField(name = "applyuserphone")
    @JsonProperty("applyuserphone")
    private String sellUserPhone;

    /**
     * Customer name
     */
    @JsonInclude
    @JSONField(name = "name")
    @JsonProperty("name")
    private String customerName;

    /**
     * Customer phone
     */
    @JsonInclude
    @JSONField(name = "phone")
    @JsonProperty("phone")
    private String customerPhone;

    /**
     * Customer sex
     */
    @JsonInclude
    @RefData(dicKey = "sex")
    @JSONField(name = "sex")
    @JsonProperty("sex")
    private String customerSex;

    /**
     * Customer birthday
     */
    @JsonInclude
    @JSONField(name = "birthday",format = "yyyy-MM-dd")
    @JsonProperty("birthday")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date customerBirthday;

    /**
     * Customer card end date
     */
    @JsonInclude
    @JSONField(name = "carddate",format = "yyyy-MM-dd")
    @JsonProperty("carddate")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date customerCardEndDate;

    /**
     * Customer card id
     */
    @JsonInclude
    @JSONField(name = "cardno")
    @JsonProperty("cardno")
    private String customerCardId;

    /**
     * Customer card type
     */
    @JsonInclude
    @RefData(dicKey = "certType")
    @JSONField(name = "cardtype")
    @JsonProperty("cardtype")
    private String customerCardType;

}
